'''
列表每两个相邻的数,如果前面比后面大,则交换这两个数
一趟排序完成后,则无序去减少一个数,有序区增加一个数
时间复杂度O(N^2)
'''
import random

def bubble_sort(li):
    for i in range(len(li)-1):  #第i趟
        exchange = False
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j + 1] = li[j+1],li[j]  # 这里不能分开赋值
                exchange = True
        print(li)
        if not exchange:
            return li

li = [7,8,9,1,2,3,4,5,6]
# li = [1,2,3,4,5,6]

print(bubble_sort(li))